package com.xyz.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xyz.entity.Commodity;
import com.xyz.entity.PageBean;
import com.xyz.mapper.ComMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

@Service
public class ComService
{
    @Autowired
    private ComMapper comMapper;
//增加商品
    public void add(Commodity com){
        //补全数据
        com.setCreateTime(LocalDateTime.now());
        com.setUpdateTime(LocalDateTime.now());
        //调用持久层方法
        comMapper.insert(com);
    }
//更新商品，要不要验证一下，究竟是不是该用户的商品
    public void update(Commodity com){
        com.setUpdateTime(LocalDateTime.now());
        comMapper.update(com);
    }
    //删除数据，已经知道id
    public void delete(Integer comid){
        comMapper.delete(comid);
    }

    //查询所有数据,要不要处理一下逻辑，比如把状态啥的转换一下
    public List<Commodity> list(Integer userid){
        List<Commodity> comslist=comMapper.list(userid);
        return comslist;
    }
//
public PageBean page(Integer page,Integer pageSize,String type){
      /* Long count = (long) comMapper.count();
       int start = (page-1)*pageSize;
       List<Commodity> comlist =comMapper.page(start,pageSize);
       PageBean pageBean=new PageBean(count,comlist);
       return pageBean;*/
       // 使用 PageHelper 开启分页功能，指定当前页和每页显示数量
       PageHelper.startPage(page, pageSize);

       // 调用查询方法获取分页数据，这里不需要手动计算 start 和 pageSize
       List<Commodity> comlist = comMapper.page(type);

       // 使用 PageInfo 对象包装查询结果，获取总记录数和分页信息
       PageInfo<Commodity> pageInfo = new PageInfo<>(comlist);
       long total = pageInfo.getTotal();

       // 将查询结果和分页信息封装到 PageBean 中
       PageBean pageBean = new PageBean(total, comlist);

       return pageBean;
   }

}
